import request from '@/utils/request';
import qs from 'qs';
import { ResponseData } from '../typing';
// 参数接口
export interface UpdateOrderSensitiveParams {
    /*敏感词 */
    name: string;
    /*分类状态，0禁用，1启用 */
    status: number;
    /*主键 */
    id: number;
}

/**
 * 更新敏感词
 * @param {object} params 管理后台 - 敏感词
 * @param {string} params.name 敏感词
 * @param {number} params.status 分类状态，0禁用，1启用
 * @param {number} params.id 主键
 * @returns
 */
export function updateOrderSensitive(params: UpdateOrderSensitiveParams): Promise<ResponseData<boolean>> {
    return request.put(`/yfwy/order-sensitive/update`, params);
}
// 参数接口
export interface GetOrderSensitivePageParams {
    /*当前第几页(默认1) */
    current?: number;

    /*每页条数(默认20) */
    size?: number;

    /*敏感词 */
    name?: string;

    /*状态，0禁用，1启用 */
    status?: number;

    /* */
    page?: {
        /* */
        records?: {
            /* */
            createTime?: string;

            /* */
            updateTime?: string;

            /* */
            creator?: Record<string, unknown>;

            /* */
            updater?: Record<string, unknown>;

            /*主键 */
            id?: Record<string, unknown>;

            /*分类名称 */
            classifyName?: string;

            /*条线 */
            orderProfessionalLine?: string;

            /*工单类型（父级分类），0报修、1投诉 */
            orderType?: Record<string, unknown>;

            /*工单子类（报修类型），0户内、1公区 */
            orderTypeSub?: string;

            /*分类状态，0禁用，1启用 */
            status?: Record<string, unknown>;
        }[];

        /* */
        total?: Record<string, unknown>;

        /* */
        size?: Record<string, unknown>;

        /* */
        current?: Record<string, unknown>;

        /* */
        orders?: {
            /* */
            column?: string;

            /* */
            asc?: boolean;
        }[];

        /* */
        optimizeCountSql?: boolean;

        /* */
        searchCount?: boolean;

        /* */
        optimizeJoinOfCountSql?: boolean;

        /* */
        maxLimit?: Record<string, unknown>;

        /* */
        countId?: string;

        /* */
        pages?: Record<string, unknown>;
    };
}
// 响应接口
export interface GetOrderSensitivePageRes {
    /* */
    code: number;

    /* */
    data: {
        /* */
        records: {
            /*主键 */
            id: number;

            /*敏感词 */
            name: string;

            /*敏感词状态，0禁用，1启用 */
            status: number;
        }[];

        /* */
        pages: number;

        /* */
        total: number;

        /* */
        current: number;

        /* */
        size: number;
    };

    /* */
    msg: string;
}
/**
 * 获取敏感词分页
 * @param {object} params 管理后台 - 工单分类分页 Request VO
 * @param {number} params.current 当前第几页(默认1)
 * @param {number} params.size 每页条数(默认20)
 * @param {string} params.name 敏感词
 * @param {number} params.status 状态，0禁用，1启用
 * @param {object} params.page
 * @returns
 */
export function getOrderSensitivePage(params: GetOrderSensitivePageParams): Promise<GetOrderSensitivePageRes> {
    return request.post(`/yfwy/order-sensitive/page`, params);
}
// 参数接口
export interface GetListParams {
    /*当前第几页(默认1) */
    current?: number;

    /*每页条数(默认20) */
    size?: number;

    /*敏感词 */
    name?: string;

    /*状态，0禁用，1启用 */
    status?: number;

    /* */
    page?: {
        /* */
        records?: {
            /* */
            createTime?: string;

            /* */
            updateTime?: string;

            /* */
            creator?: Record<string, unknown>;

            /* */
            updater?: Record<string, unknown>;

            /*主键 */
            id?: Record<string, unknown>;

            /*分类名称 */
            classifyName?: string;

            /*条线 */
            orderProfessionalLine?: string;

            /*工单类型（父级分类），0报修、1投诉 */
            orderType?: Record<string, unknown>;

            /*工单子类（报修类型），0户内、1公区 */
            orderTypeSub?: string;

            /*分类状态，0禁用，1启用 */
            status?: Record<string, unknown>;
        }[];

        /* */
        total?: Record<string, unknown>;

        /* */
        size?: Record<string, unknown>;

        /* */
        current?: Record<string, unknown>;

        /* */
        orders?: {
            /* */
            column?: string;

            /* */
            asc?: boolean;
        }[];

        /* */
        optimizeCountSql?: boolean;

        /* */
        searchCount?: boolean;

        /* */
        optimizeJoinOfCountSql?: boolean;

        /* */
        maxLimit?: Record<string, unknown>;

        /* */
        countId?: string;

        /* */
        pages?: Record<string, unknown>;
    };
}
// 响应接口
export interface GetListRes {
    /* */
    code: number;

    /* */
    data: {
        /*主键 */
        id: number;

        /*敏感词 */
        name: string;

        /*敏感词状态，0禁用，1启用 */
        status: number;
    }[];

    /* */
    msg: string;
}
/**
 * 查询敏感词集合
 * @param {object} params 管理后台 - 工单分类分页 Request VO
 * @param {number} params.current 当前第几页(默认1)
 * @param {number} params.size 每页条数(默认20)
 * @param {string} params.name 敏感词
 * @param {number} params.status 状态，0禁用，1启用
 * @param {object} params.page
 * @returns
 */
export function getList(params: GetListParams): Promise<GetListRes> {
    return request.post(`/yfwy/order-sensitive/getList`, params);
}

// 参数接口
export interface ExportOrderSensitiveExcelParams {
    /*当前第几页(默认1) */
    current?: number;

    /*每页条数(默认20) */
    size?: number;

    /*敏感词 */
    name?: string;

    /*状态，0禁用，1启用 */
    status?: number;

    /* */
    page?: {
        /* */
        records?: {
            /* */
            createTime?: string;

            /* */
            updateTime?: string;

            /* */
            creator?: Record<string, unknown>;

            /* */
            updater?: Record<string, unknown>;

            /*主键 */
            id?: Record<string, unknown>;

            /*分类名称 */
            classifyName?: string;

            /*条线 */
            orderProfessionalLine?: string;

            /*工单类型（父级分类），0报修、1投诉 */
            orderType?: Record<string, unknown>;

            /*工单子类（报修类型），0户内、1公区 */
            orderTypeSub?: string;

            /*分类状态，0禁用，1启用 */
            status?: Record<string, unknown>;
        }[];

        /* */
        total?: Record<string, unknown>;

        /* */
        size?: Record<string, unknown>;

        /* */
        current?: Record<string, unknown>;

        /* */
        orders?: {
            /* */
            column?: string;

            /* */
            asc?: boolean;
        }[];

        /* */
        optimizeCountSql?: boolean;

        /* */
        searchCount?: boolean;

        /* */
        optimizeJoinOfCountSql?: boolean;

        /* */
        maxLimit?: Record<string, unknown>;

        /* */
        countId?: string;

        /* */
        pages?: Record<string, unknown>;
    };
}
/**
 * 导出敏感词 Excel
 * @param {object} params 管理后台 - 工单分类分页 Request VO
 * @param {number} params.current 当前第几页(默认1)
 * @param {number} params.size 每页条数(默认20)
 * @param {string} params.name 敏感词
 * @param {number} params.status 状态，0禁用，1启用
 * @param {object} params.page
 * @returns
 */
export function exportOrderSensitiveExcel(params: ExportOrderSensitiveExcelParams): romise<Blob> {
    return request.post(`/yfwy/order-sensitive/exportExcel`, params, {
        responseType: 'blob',
    });
}

// 参数接口
export interface CreateOrderSensitiveParams {
    /*敏感词 */
    name: string;

    /*分类状态，0禁用，1启用 */
    status: number;
}

/**
 * 创建敏感词
 * @param {object} params 管理后台 - 敏感词
 * @param {string} params.name 敏感词
 * @param {number} params.status 分类状态，0禁用，1启用
 * @returns
 */
export function createOrderSensitive(params: CreateOrderSensitiveParams): Promise<ResponseData<number>> {
    return request.post(`/yfwy/order-sensitive/create`, params);
}
// 响应接口
export interface GetOrderSensitiveRes {
    /* */
    code: number;

    /* */
    data: {
        /* */
        createTime: Record<string, unknown>;

        /* */
        updateTime: Record<string, unknown>;

        /* */
        creator: number;

        /* */
        updater: number;

        /*主键 */
        id: number;

        /*敏感词 */
        name: string;

        /*状态，0禁用，1启用 */
        status: number;
    };

    /* */
    msg: string;
}
/**
 * 获取敏感词
 * @param {string} id
 * @returns
 */
export function getOrderSensitive(id: number): Promise<GetOrderSensitiveRes> {
    return request.get(`/yfwy/order-sensitive/get/${id}`);
}
/**
 * 删除工单分类
 * @param {string} id
 * @returns
 */
export function deleteOrderSensitive(id: number): Promise<ResponseData<boolean>> {
    return request.delete(`/yfwy/order-sensitive/delete/${id}`);
}
